/*
 ------------------------------------------------------------------------------
 Copyright (C) 2009-2011 Eternal Games.

 This file is part of the Eternal Tech source code.

 The Eternal Tech source code is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or (at your
 option) any later version.

 The Eternal Tech source code is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 more details.

 You should have received a copy of the GNU General Public License along with
 the Eternal Tech source code; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 ------------------------------------------------------------------------------
*/


//
// win_local.h - Local header file to all win32 files
//


#if !defined(__WIN_LOCAL_H__) || !INCLUDE_GUARDS
#define __WIN_LOCAL_H__


#include "../qcommon/qcommon.h"
#include "winquake.h"
#include "resource.h"


/*
 ==============================================================================

    WIN_QGL.CPP

 ==============================================================================
*/

bool				QGL_Init (const char *driver);
void				QGL_Shutdown ();

/*
 ==============================================================================

    WIN_QAL.CPP

 ==============================================================================
*/

bool				QAL_Init (const char *driver);
void				QAL_Shutdown ();

/*
 ==============================================================================

    WIN_MAIN.CPP

 ==============================================================================
*/

struct winMain_t {
	HINSTANCE				hInstance;

	HWND					hWndMain;
	HWND					hWndEditor;

	HWND					hWndConsole;
	HWND					hWndFake;
	HWND					hWndLightEditor;

	bool					isActive;
	bool					isMinimized;
	bool					isFullscreen;

	BOOL					activeApp;
	DWORD					msgTime;

	int						cpuId;
	int						cpuCount;
	char					cpuString[256];

	longlong				ticksPerSecond;

	char					currentDirectory[MAX_PATH_LENGTH];

	memoryPool_t			*systemMemoryPool;
};

extern winMain_t			winMain;


#else
FILE_WARNING
#endif   // __WIN_LOCAL_H__